package com.rla.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rla.common.annotation.ExcelDictFormat;
import com.rla.common.convert.ExcelDictConvert;
import lombok.Data;


/**
 * 积分任务明细视图对象 points_details
 *
 * @author rla
 * @date 2025-08-30
 */
@Data
@ExcelIgnoreUnannotated
public class PointsDetailsVo {

    private static final long serialVersionUID = 1L;

    /**
     * 变更时间
     */
    @ExcelProperty(value = "变更时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date changeTime;

    /**
     * 变动类型1订单奖励2兑换消耗3订单退款4积分过期5任务奖励
     */
    @ExcelProperty(value = "变动类型1订单奖励2兑换消耗3订单退款4积分过期5任务奖励")
    private String changeType;

    /**
     * 任务名称
     */
    @ExcelProperty(value = "任务名称")
    private String task;

    /**
     * 用户名
     */
    @ExcelProperty(value = "用户名")
    private String userName;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private String userId;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phone;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderNumber;

    /**
     * 变动积分
     */
    @ExcelProperty(value = "变动积分")
    private Long variablePoints;

    /**
     * 操作人
     */
    @ExcelProperty(value = "操作人")
    private String operator;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String notes;

    /**
     * 任务ID
     */
    @ExcelProperty(value = "任务ID")
    private Long taskId;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcCreator;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcCreatedate;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcLastmodifier;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcLastmodifydate;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcRowversion;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcUpdatehelp;

    /**
     * 备注（权益名称）
     */
    @ExcelProperty(value = "备注", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "权=益名称")
    private String remark;

    private Long beforePoints;

    private Long afterPoints;


}
